//
// Created by chengs1r on 2021/8/13.
//

#include <stdio.h>
// #include 的处理过程很简单，就是将头文件的内容插入到该命令所在的位置，从而把头文件和当前源文件连接成一个源文件，这与复制粘贴的效果相同
// #include "变量声明.c"
// 如果用上述 #include 命令包含 变量声明.c 文件，那么它们相当于是一个文件，static关键字修饰的变量是能够被当前文件的函数直接使用

extern int arg1;
extern int arg2;

int main() {
    printf("arg1 = %d\n", arg1);
    printf("arg2 = %d\n", arg2);
    // 因为 变量声明.c 文件中的 arg2 全局变量被static关键字修饰，所以编译会报错
    // Undefined symbols for architecture x86_64:
    // "_arg2", referenced from:
    // _main in 变量调用.c.o
    // ld: symbol(s) not found for architecture x86_64
    return 0;
}